From 675841cb315c8f28f562dd08a7bb1ee8b87df4ad Mon Sep 17 00:00:00 2001 From: robertl Date: Sat, 17 Aug 2002 06:18:15 +0000 Subject: [PATCH] Add pdb_read2, correct sign extension. --- gpsbabel/util.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gpsbabel/util.c b/gpsbabel/util.c index 7bdf8b4d2..e70bf7f54 100644 --- a/gpsbabel/util.c +++ b/gpsbabel/util.c @@ -66,13 +66,20 @@ fatal(const char *fmt, ...) /* * Read 4 bytes in big-endian. Return as "int" in native endianness. */ -int +signed int pdb_read4(pdb_32 *p) { - char *i = (char *) p; + unsigned char *i = (unsigned char *) p; return i[0] << 24 | i[1] << 16 | i[2] << 8 | i[3]; } +signed int +pdb_read2(pdb_16 *p) +{ + char *i = (char *) p; + return i[0] << 8 | i[0]; +} + void pdb_write4(pdb_32 *pp, unsigned i) { -- 2.30.2